package cn.edu.zafu.bigdata.xct.FileOperation;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.util.Scanner;

public class FileAppendOperations {

    // 追加内容到文件的方法
    public static void appendToFile(String fileName, String content) {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName, true))) {
            writer.newLine(); // 添加一个新行
            writer.write(content);
            System.out.println("内容已追加到文件：" + fileName);
        } catch (IOException e) {
            System.out.println("追加内容到文件时发生错误：" + e.getMessage());
        }
    }

    // 读取文件内容的方法
    public static void readFile(String fileName) {
        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println("读取文件时发生错误：" + e.getMessage());
        }
    }

    // 主方法，用于测试
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要追加的文本内容：");
        String inputText = scanner.nextLine();

        // 获取当前用户的学号，这里假设学号为2022010101，实际使用时需要动态获取
        String studentId = "202211080115";
        String fileName = "files/" + studentId + ".txt";

        // 将输入的文本追加到文件
        appendToFile(fileName, inputText);

        // 读取文件内容并打印
        readFile(fileName);

        scanner.close();
    }
}